<template>
  <svg xmlns="http://www.w3.org/2000/svg" 
    :width="_width" 
    :height="_height"
    :spin="spin"
    :rtl="rtl"
    viewBox="0 0 1024 1024"
    preserveAspectRatio="xMidYMid meet"
    fill=""
    role="presentation"
    ref="host"
  >
    <g><path fill="#DC5501" d="M982.004 910.343v63.109h53.4l-53.4-63.109zM54.791-7.16v48.545h58.254L54.791-7.16z"/><path fill="#FF6200" d="M1035.404 604.508 423.734-7.16H54.792l980.613 980.613V604.508z"/><path fill="#FFF" d="m406.938 102.512-72.284 71.478-14.33-14.495 47.001-46.497-66.157 27.137-10.855-10.971L318.07 63.2l-47.011 46.486-14.34-14.495 72.274-71.478 16.282 16.457-31.001 76.148 76.478-30.166 16.175 16.36zM373.092 214.72c-5.456-5.525-9.165-11.69-11.117-18.496a38.234 38.234 0 0 1 .107-20.806c2.039-6.923 5.98-13.282 11.845-19.088 5.874-5.797 12.311-9.641 19.321-11.525a37.933 37.933 0 0 1 20.904.417c6.922 2.04 13.117 5.806 18.583 11.33 5.456 5.525 9.165 11.749 11.117 18.7 2.029 6.874 2.058 13.816.097 20.807-1.894 7.058-5.777 13.496-11.651 19.292-5.855 5.806-12.37 9.583-19.515 11.32a38.7 38.7 0 0 1-21.108-.417c-6.854-2.097-13.049-5.942-18.583-11.534zm12.632-12.496c2.602 2.622 5.64 4.466 9.136 5.505 3.631 1.049 7.408 1 11.33-.145 3.923-1.136 7.71-3.525 11.36-7.146 5.466-5.389 8.204-10.971 8.233-16.739a19.515 19.515 0 0 0-5.884-14.854 19.515 19.515 0 0 0-14.796-6.059c-5.631.097-11.175 2.855-16.632 8.253-5.456 5.388-8.33 10.903-8.64 16.525-.166 5.63 1.795 10.514 5.893 14.66zm49.195 75.003c-4.64-4.69-7.98-9.729-10-15.088-1.97-5.437-2.592-10.69-1.874-15.768.777-5.01 2.826-9.36 6.146-13.049l14.437 14.603c-1.941 2.456-2.708 5.34-2.31 8.64.456 3.36 2.087 6.467 4.893 9.292 2.728 2.767 5.398 4.36 8 4.777 2.68.495 4.874-.097 6.602-1.816 1.864-1.844 2.292-4.174 1.272-6.99-.874-2.816-2.815-6.845-5.796-12.078a111.499 111.499 0 0 1-7.243-13.738 26.409 26.409 0 0 1-1.884-12.059c.36-4.185 2.476-8.194 6.35-12.02a21.195 21.195 0 0 1 11.36-5.903c4.466-.738 9.126-.165 13.99 1.719 4.933 1.941 9.69 5.243 14.263 9.864 6.757 6.835 10.428 13.99 11 21.476.65 7.418-1.728 14.205-7.116 20.35l-13.72-13.874c2.078-2.456 2.913-5.194 2.525-8.223-.262-3.02-1.796-5.942-4.592-8.777-2.593-2.622-5.088-4.175-7.496-4.68a6.544 6.544 0 0 0-6.087 1.932c-1.932 1.913-2.457 4.34-1.583 7.301.942 2.884 2.913 6.884 5.903 11.972 3.068 5.165 5.38 9.64 6.933 13.427 1.553 3.787 2.126 7.806 1.689 12.059-.301 4.252-2.31 8.301-6.04 12.117a21.107 21.107 0 0 1-11.67 6.02c-4.398.795-9.068.223-14-1.729-4.796-1.942-9.447-5.204-13.952-9.757zm97.178 5.466L504.35 310.14c-1.942 1.913-2.913 3.767-2.913 5.544.126 1.786 1.282 3.787 3.466 5.99l6.66 6.739-12.223 12.078-9.01-9.107c-12.088-12.214-12.195-24.195-.32-35.943l27.65-27.341-6.766-6.835 11.913-11.777 6.757 6.835 14.185-14.03 14.447 14.593L544 270.916l12.7 12.845-11.903 11.777-12.7-12.845zm103.994 96.245a31.195 31.195 0 0 1-13.632 7.962c-5.165 1.544-10.719 1.378-16.68-.515-5.903-1.815-11.787-5.69-17.651-11.631l-11.981-12.107-27.748 27.447-14.34-14.496 72.273-71.487 26.312 26.603c5.534 5.602 9.282 11.32 11.243 17.165 1.951 5.845 2.204 11.408.728 16.68a31.127 31.127 0 0 1-8.524 14.37zm-36.875-16.379c3.951 4.01 7.786 6.088 11.495 6.243 3.777.097 7.32-1.505 10.632-4.777 7.039-6.961 6.67-14.379-1.107-22.253l-11.37-11.495-21.02 20.796 11.36 11.496zm21.408 102.43c-5.466-5.534-9.165-11.69-11.126-18.505a38.244 38.244 0 0 1 .116-20.797c2.039-6.922 5.98-13.282 11.845-19.088 5.864-5.806 12.311-9.65 19.321-11.534a37.943 37.943 0 0 1 20.904.427c6.922 2.03 13.107 5.806 18.573 11.321 5.466 5.534 9.175 11.758 11.127 18.71 2.019 6.873 2.058 13.806.097 20.796-1.894 7.059-5.777 13.496-11.651 19.302-5.864 5.796-12.37 9.573-19.515 11.32a38.7 38.7 0 0 1-21.118-.427c-6.854-2.097-13.039-5.942-18.573-11.534zm12.632-12.495c2.592 2.621 5.64 4.456 9.136 5.505 3.63 1.049 7.408 1 11.33-.146s7.71-3.524 11.36-7.145c5.456-5.399 8.204-10.972 8.233-16.739a19.515 19.515 0 0 0-5.893-14.864 19.515 19.515 0 0 0-14.797-6.059c-5.631.107-11.165 2.864-16.622 8.253-5.456 5.398-8.33 10.903-8.64 16.534-.166 5.632 1.795 10.515 5.893 14.661zm91.837 18.078c4.466-.728 9.166-.33 14.098 1.214 5.068 1.534 9.69 4.408 13.855 8.622a34.914 34.914 0 0 1 8.446 36.506c-2.097 6.708-6.077 12.97-11.942 18.777-5.864 5.796-12.233 9.777-19.126 11.942a36.108 36.108 0 0 1-19.768.922 34.186 34.186 0 0 1-16.835-9.573c-4.175-4.204-6.991-8.787-8.476-13.738a33.807 33.807 0 0 1-1.156-14.224l-35.516 35.137-14.34-14.505 84.702-83.77 14.34 14.496-8.282 8.194zm9.806 50.313c3.457-3.418 5.71-7.078 6.758-10.991 1.194-3.903 1.282-7.67.272-11.32a20.641 20.641 0 0 0-5.408-9.4 20.37 20.37 0 0 0-9.447-5.407 21.234 21.234 0 0 0-11.33.145c-3.913 1.146-7.603 3.418-11.05 6.836-3.456 3.417-5.776 7.068-6.96 10.97-1.127 3.982-1.244 7.797-.37 11.438 1 3.641 2.816 6.777 5.399 9.398 2.67 2.7 5.815 4.496 9.446 5.408 3.7.981 7.515.903 11.438-.242 3.98-1.078 7.738-3.36 11.262-6.835zm107.11 51.331-57.37 56.73-14.437-14.602 7.242-7.166c-4.32.593-8.709.098-13.165-1.514a32.079 32.079 0 0 1-11.7-7.68c-4.436-4.495-7.437-9.379-8.98-14.68a29.282 29.282 0 0 1 .291-16.476c1.816-5.612 5.282-10.952 10.389-16l33.651-33.283 14.34 14.495-31.583 31.234c-4.563 4.505-6.952 9.127-7.185 13.865-.155 4.66 1.71 8.961 5.593 12.903 3.961 4 8.281 5.942 12.952 5.835 4.738-.184 9.378-2.524 13.942-7.03l31.573-31.233 14.448 14.602zm47.74 9.748-76.624 75.78-14.34-14.496 76.624-75.78 14.34 14.496zm-37.254 57.808c5.797-5.738 12.069-9.69 18.807-11.845 6.806-2.088 13.37-2.37 19.67-.816a35.671 35.671 0 0 1 16.836 9.767c4.233 4.282 7.058 8.865 8.476 13.748 1.485 4.952 1.864 9.69 1.165 14.214l8.175-8.087 14.437 14.602-57.36 56.73-14.448-14.602 8.389-8.292c-4.534.796-9.34.427-14.409-1.107-4.932-1.543-9.514-4.446-13.748-8.728a34.661 34.661 0 0 1-9.388-16.942c-1.408-6.389-1.03-12.981 1.145-19.768 2.302-6.777 6.38-13.078 12.253-18.874zm44.448 45.34c3.515-3.475 5.835-7.135 6.952-10.97 1.194-3.913 1.282-7.69.272-11.33a20.622 20.622 0 0 0-5.408-9.613 20.66 20.66 0 0 0-9.34-5.505 21.224 21.224 0 0 0-11.33.146c-3.845 1.068-7.496 3.32-10.952 6.738-3.447 3.408-5.806 7.107-7.059 11.078-1.126 3.98-1.243 7.787-.379 11.427.942 3.72 2.719 6.894 5.311 9.515 2.66 2.68 5.806 4.564 9.437 5.602 3.71.981 7.476.942 11.33-.135 3.923-1.146 7.642-3.467 11.166-6.942zm62.556 23.69a28.865 28.865 0 0 1 14.31.195c4.729 1.33 9.01 3.923 12.836 7.787l-15.224 15.058-3.786-3.835c-4.515-4.553-8.99-6.942-13.457-7.184-4.388-.156-9.243 2.398-14.564 7.65l-28.573 28.273-14.34-14.505 57.36-56.73 14.34 14.496-8.902 8.806z"/></g>
  </svg>
</template>

<script lang="ts">
import { Vue, prop } from 'vue-class-component';

class Props {
    width = prop<number | string>({
      type: [Number, String],
      required: false
    })
    
    height = prop<number | string>({
      type: [Number, String],
      required: false
    })
    
    stroke = prop<string>({
      type: String,
      required: false
    })
    
    fill = prop<string>({
      type: String,
      required: false
    })
    
    color = prop<string>({
      type: String,
      required: false
    })
    
    spin = prop<boolean>({
      type: Boolean,
      required: false
    })
    
    rtl = prop<boolean>({
      type: Boolean,
      required: false
    })
    

  // optional prop with default
  size = prop<number | string>({ default: '1em' })
}

export default class Group626485 extends Vue.with(Props) {
    get _fill(): string | undefined {
        return this.fill || this.color
    }
    get _stroke(): string | undefined {
        return this.stroke || this.color
    }
    get _width(): string | number {
      return this.width || this.size
    }
    get _height(): string | number {
      return this.height || this.size
    }
  mounted():void {
        if (!this._fill) {
            (this.$refs.host as HTMLElement)?.querySelectorAll('[data-follow-fill]').forEach(item => {
            item.setAttribute('fill', item.getAttribute('data-follow-fill') || '')
            })
        }
        if (!this._stroke) {
            (this.$refs.host as HTMLElement)?.querySelectorAll('[data-follow-stroke]').forEach(item => {
            item.setAttribute('stroke', item.getAttribute('data-follow-stroke') || '')
            })
        }
    }
    updated():void {
        if (!this._fill) {
            (this.$refs.host as HTMLElement)?.querySelectorAll('[data-follow-fill]').forEach(item => {
            item.setAttribute('fill', item.getAttribute('data-follow-fill') || '')
            })
        }
        if (!this._stroke) {
            (this.$refs.host as HTMLElement)?.querySelectorAll('[data-follow-stroke]').forEach(item => {
            item.setAttribute('stroke', item.getAttribute('data-follow-stroke') || '')
            })
        }
    }
}
</script>

<style scoped>
svg[spin="true"] {animation: iconpark-spin 1s infinite linear;}
svg[spin="true"][rtl="true"] {animation: iconpark-spin-rtl 1s infinite linear;}
svg[rtl="true"] {
  transform: scaleX(-1);
}
@keyframes iconpark-spin {
  0% { -webkit-transform: rotate(0); transform: rotate(0);} 100% {-webkit-transform: rotate(360deg); transform: rotate(360deg);}
}
@keyframes iconpark-spin-rtl {
  0% {-webkit-transform: scaleX(-1) rotate(0); transform: scaleX(-1) rotate(0);} 100% {-webkit-transform: scaleX(-1) rotate(360deg); transform: scaleX(-1) rotate(360deg);}
}
</style>
